package br.com.sgpv2.hibernate.contribuicaoprevidenciaria;

import java.util.List;

import br.com.sgpv2.controler.NegocioExeception;
import br.com.sgpv2.entity.contribuicaoprevidenciaria.ContribuicaoPrevidenciaria;

public interface ContribuicaoPrevidenciariaRepository {

	/**
	 * Método que salva uma entidade contribuição previdênciária no banco de
	 * dados.
	 */
	void salvar(ContribuicaoPrevidenciaria contribuicaoPrevidenciaria);

	/**
	 * Método que busca uma entidade contribuição previdênciária no banco de
	 * dados.
	 */
	ContribuicaoPrevidenciaria buscar(Integer pk) throws NegocioExeception;

	/**
	 * Método que altera uma entidade contribuição previdênciária no banco de
	 * dados.
	 */
	void alterar(ContribuicaoPrevidenciaria contribuicaoPrevidenciaria);

	/**
	 * Método que altera uma entidade contribuição previdênciária no banco de
	 * dados.
	 */
	void saveOrUpdate(ContribuicaoPrevidenciaria contribuicaoPrevidenciaria);

	/**
	 * Método que lista todas as entidades contribuição previdênciária no banco
	 * de dados.
	 */
	List<ContribuicaoPrevidenciaria> listar();

	/**
	 * Método que exclui uma entidade contribuição previdênciária no banco de
	 * dados.
	 */
	void excluir(ContribuicaoPrevidenciaria contribuicaoPrevidenciaria);

	/**
	 * Método que consulta todas as contribui��es previdenci�rias por mês e ano.
	 */
	List<ContribuicaoPrevidenciaria> consultarPorMesAno(String mes, String ano);
}
